#include <stdio.h>
#include <stdlib.h>

// 题目1：编写一个程序，使用malloc动态分配一个整型数组的空间，允许用户输入数组的大小（不超过100），
// 然后输入数组的元素值，并打印出数组的内 容，最后使用 free 释放内存。

int main()
{
    int n;
    scanf("%d", &n);
    int* a = (int*)malloc(n * sizeof(int)); // 由于malloc返回的是void*，需要进行强制类型转换
    if(a == NULL)
    {
        printf("malloc failed\n");
        exit(1);
    }
    for(int i = 0; i < n; i++)
    {
        scanf("%d", &a[i]);
    }
    for(int i = 0; i < n; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
    free(a); // 在堆上动态开辟的内存，开发者要手动释放
    return 0;
}